Main focus of this side project is to find phase-transition which
happen when we are changing
boundary/Acceptability of different opinion and
Narrowness of identity group. Result should be a simple
graph showing how ESBG polarization changes with change of
Acceptability of different opinion and
Narrowness of identity group.
Note: Experiment is still running, we are at 26 complete sets of all
values combinations out of 120. Also note, that it seems that we are not
done yet, we probably will need more sets than 120 and more values of
Narrowness of identity group.
Data are at http://github.com/frantisek901/Spirals/Experiment.
Experiment is still running and I, FranČesko, from time to time
actualize the *.csv files at GitHub, then I run script
experiment.R which loads the data. Now, 2022-03-25, we are
at 20 %, roughly. Who is not interested in working with megabytes of
*.csv files, might use compiled
phase2w.RData.
Now we load and aggregate these data and factorize and rename selected variables:
## Loading stored data
load("phase2w.RData")
## Preparing individual data 'dfi'
dfi = phase2w %>%
## Filtering variables:
filter(RS <= 11, identity) %>% # | (RS >= 61 & RS <= 96),
## Denormalizing ESBG:
mutate(ESBG = ESBG * sqrt(opinions))
## Summarising 'dfi' into 'dfs':
dfs = dfi %>%
group_by(opinions, boundary, identity, id_threshold) %>%
summarise(ESBG = mean(ESBG)) %>% ungroup() %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:4, c("Opinion dimensions:", "Acceptability of different opinion:", "Identity:",
"Narrowness of identity group:"))
I de-normalized ESBG, i.e. I multiply. I just noticed that systematically ESBG is lower and also much denser in higher dimensions. I have also substantive/philosophical reasons for this de-normalization, now I will try it and describe the reasons for de-normalization later in detail. But just briefly:
I think that agents do not know in how many dimensions they are and what is the maximum posible distance, they feel polarisation reegarding the other group not regarding the group and the possible maxima of distance, let’s do following thought experiment:
Our agents living in 1D, they discuss just one topic, they are divided in two camps of equal size and these two camps are at the poles -1 and +1 of their opinion space, the polarization is maximal, ESBG is 1. Then we take this strange world on a string and put it on the table, now they are in 2D world, their distance is same since the don’t change it, they should stil feel polarization of margin ESBG=1 since nothing changed. Then we recognize that table is in the roomm – 3D, then we rocignize time – 4D… But polarization should be still same, since these agent don’t change their positions.
So, this was the argument :-) and now let’s look, how results change after de-normalization of ESBG…
GREAT! Results look GREAT! Now the polarization is more ballanced over dimensions, but still, even after de-normalization, holds true that the more dimensions the less polarization.
Now, let’s show our results graphically!
dfs %>%
ggplot() +
aes(x = `Acceptability of different opinion:`, col = ESBG, fill = ESBG,
y = `Narrowness of identity group:`) +
facet_wrap(vars(`Opinion dimensions:`), ncol=3) +
geom_point(alpha = 1, size = 1.75, shape = 22) +
scale_fill_gradient2(low = "green", mid = "red", high = "black", midpoint = 0.3) +
scale_color_gradient2(low = "green", mid = "red", high = "black", midpoint = 0.3) +
scale_y_continuous(breaks = seq(0.05, 0.85, 0.05)) +
scale_x_continuous(breaks = seq(0.05, 0.50, 0.05)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4), 'Narrowness of identity group' (0.05--0.85) and\n'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions") +
guides(alpha = "none") +
theme_minimal() +
theme(legend.position = "top")
Just for a try, same map, but more detailed and with panels organized in column insted of in a row:
dfs %>%
ggplot() +
aes(x = `Acceptability of different opinion:`, fill = ESBG, col = ESBG, label = round(100*ESBG, 0),
y = `Narrowness of identity group:`) +
facet_wrap(vars(`Opinion dimensions:`), ncol=1) +
geom_point(alpha = 1, size = 6.6, shape = 22) +
geom_text(color = "white", size = 2) +
scale_fill_gradient2(low = "green", mid = "red", high = "black", midpoint = 0.3) +
scale_color_gradient2(low = "green", mid = "red", high = "black", midpoint = 0.3) +
scale_y_continuous(breaks = seq(0.05, 0.85, 0.05), labels = seq(0.05, 0.85, 0.05)) +
scale_x_continuous(breaks = seq(0.05, 0.50, 0.05), labels = seq(0.05, 0.50, 0.05)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4), 'Narrowness of identity group' (0.05--0.85) and\n'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions",
caption = "Note: Numbers indicate polarization, they are equal to `round(100 * ESBG, 0)`.") +
guides(alpha = "none") +
theme_minimal() +
theme(legend.position = "top")
For the first graph on pulped clouds we aggregate
Acceptability of different opinion into 13 categories (we
just round 121 original values to 2 digits). Two different levels of
polarization are seeable here, but it doesn’t look like clouds…
## For presenting variability we try now boxplots on individual data (non-aggregated):
dfi %>%
filter(round(100 * id_threshold, 0) %in% seq(5, 85, 10)) %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
mutate(id_threshold = factor(id_threshold),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot() +
aes(x = `Acceptability of different opinion:`, y = ESBG,
fill = `Narrowness of identity group:`,
col = `Narrowness of identity group:`,
group = `Acceptability of different opinion:`) +
facet_wrap(vars(`Narrowness of identity group:`, `Opinion dimensions:`), ncol=3) +
geom_boxplot(alpha = 0.2) +
geom_jitter(alpha = 0.2) +
scale_x_continuous(breaks = seq(0.05, 0.50, 0.05)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
Now same graph, but with every value:
## For presenting variability we try now boxplots on individual data (non-aggregated):
dfi %>%
# sample_n(20000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
## Changing some variables to factors:
mutate(id_threshold = factor(id_threshold),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot() +
aes(x = `Acceptability of different opinion:`, y = ESBG,
fill = `Narrowness of identity group:`,
col = `Narrowness of identity group:`,
group = `Acceptability of different opinion:`) +
facet_wrap(vars(`Narrowness of identity group:`, `Opinion dimensions:`), ncol=3) +
geom_boxplot(alpha = 0.2) +
geom_jitter(alpha = 0.2) +
scale_x_continuous(breaks = seq(0.05, 0.50, 0.05)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
Now, same data but slightly different graph
## For presenting variability we try now scatter plot only on individual data (non-aggregated):
dfi %>%
filter(round(100 * id_threshold, 0) %in% seq(5, 85, 10)) %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
## Changing some variables to factors:
mutate(id_threshold = factor(id_threshold),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot(aes(x = `Acceptability of different opinion:`, y = ESBG,
fill = `Narrowness of identity group:`,
col = `Narrowness of identity group:`,
group = `Acceptability of different opinion:`)) +
facet_wrap(vars(`Narrowness of identity group:`, `Opinion dimensions:`), ncol=3) +
geom_point(alpha = 0.15) +
scale_x_continuous(breaks = seq(0.05, 0.50, 0.05)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
## For presenting variability we try now scatter plot on individual data (non-aggregated):
dfi %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
## Changing some variables to factors:
mutate(id_threshold = factor(id_threshold),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot(aes(x = `Acceptability of different opinion:`, y = ESBG,
fill = `Narrowness of identity group:`,
col = `Narrowness of identity group:`,
group = `Acceptability of different opinion:`)) +
facet_wrap(vars(`Narrowness of identity group:`, `Opinion dimensions:`), ncol=3) +
geom_point(alpha = 0.15) +
scale_x_continuous(breaks = seq(0.05, 0.50, 0.05)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.35--0.6) and 'Average acceptability of different opinions' (0.05--0.3)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
Acceptability and
NarrownessFor this set of graph we flip the perspective – we set
Acceptability of different opinion as slicing variable,
associated with color/fill, on the X axis we assign
Narrowness of identity group. Let’s hope, it helps
understand the 2-way phase transition better.
## For presenting variability we try now boxplots on individual data (non-aggregated):
dfi %>%
filter(round(100 * boundary, 1) %in% seq(5, 50, 5)) %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
mutate(boundary = factor(boundary),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot() +
aes(fill = `Acceptability of different opinion:`, y = ESBG,
x = `Narrowness of identity group:`,
group = `Narrowness of identity group:`,
col = `Acceptability of different opinion:`) +
facet_wrap(vars(`Acceptability of different opinion:`, `Opinion dimensions:`), ncol=3) +
geom_boxplot(alpha = 0.2) +
geom_jitter(alpha = 0.2) +
scale_x_continuous(breaks = seq(0.05, 0.850, 0.1)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
Now same graph, but with every value:
## For presenting variability we try now boxplots on individual data (non-aggregated):
dfi %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
mutate(boundary = factor(boundary),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot() +
aes(fill = `Acceptability of different opinion:`, y = ESBG,
x = `Narrowness of identity group:`,
group = `Narrowness of identity group:`,
col = `Acceptability of different opinion:`) +
facet_wrap(vars(`Acceptability of different opinion:`, `Opinion dimensions:`), ncol=3) +
geom_boxplot(alpha = 0.2) +
geom_jitter(alpha = 0.2) +
scale_x_continuous(breaks = seq(0.05, 0.85, 0.1)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
Now, same data but slightly different graph
## For presenting variability we try now boxplots on individual data (non-aggregated):
dfi %>%
filter(round(100 * boundary, 0) %in% seq(5, 50, 5)) %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
## Changing some variables to factors:
mutate(boundary = factor(boundary),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot(aes(fill = `Acceptability of different opinion:`, y = ESBG,
x = `Narrowness of identity group:`,
col = `Acceptability of different opinion:`)) +
facet_wrap(vars(`Acceptability of different opinion:`, `Opinion dimensions:`), ncol=3) +
geom_point(alpha = 0.15) +
scale_x_continuous(breaks = seq(0.05, 0.85, 0.1)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
Now, same graph again with complete data:
## For presenting variability we try now boxplots on individual data (non-aggregated):
dfi %>%
# sample_n(2000) %>%
## Selecting variables:
select(opinions, boundary, id_threshold, ESBG) %>%
## Changing some variables to factors:
mutate(boundary = factor(boundary),
opinions = factor(opinions)) %>%
## Renaming variables according 2022-03-18 meeting:
prejmenuj(1:3, c("Opinion dimensions:", "Acceptability of different opinion:",
"Narrowness of identity group:")) %>%
## Graph itself:
ggplot(aes(fill = `Acceptability of different opinion:`, y = ESBG,
x = `Narrowness of identity group:`,
col = `Acceptability of different opinion:`)) +
facet_wrap(vars(`Acceptability of different opinion:`, `Opinion dimensions:`), ncol=3) +
geom_point(alpha = 0.15) +
scale_x_continuous(breaks = seq(0.05, 0.85, 0.1)) +
labs(title = "Change of polarization in simulations by 'Opinion dimensions' (1, 2, 4),\n'Narrowness of identity group' (0.05--0.85) and 'Average acceptability of different opinions' (0.05--0.5)",
x = "Average acceptability of different opinions", y = "Polarization") +
guides(fill = "none", color = "none") +
theme_minimal() +
theme(legend.position = "top")
m = lm(ESBG ~ factor(opinions)+id_threshold+boundary, data = filter(dfi, identity))
ms = summary(m)
p1 = lm(ESBG ~ factor(opinions)+factor(id_threshold)+factor(boundary), data = filter(dfi, identity))
p1s = summary(p1)
p1s
##
## Call:
## lm(formula = ESBG ~ factor(opinions) + factor(id_threshold) +
## factor(boundary), data = filter(dfi, identity))
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.45918 -0.08119 -0.00833 0.06189 0.51675
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.1942350 0.0039951 48.619 < 2e-16 ***
## factor(opinions)2 -0.0753114 0.0008555 -88.031 < 2e-16 ***
## factor(opinions)4 -0.1073011 0.0008619 -124.493 < 2e-16 ***
## factor(id_threshold)0.06 0.0005526 0.0045136 0.122 0.90255
## factor(id_threshold)0.07 0.0003330 0.0045136 0.074 0.94120
## factor(id_threshold)0.08 0.0001491 0.0045136 0.033 0.97366
## factor(id_threshold)0.09 0.0011120 0.0045136 0.246 0.80540
## factor(id_threshold)0.1 0.0011587 0.0045136 0.257 0.79740
## factor(id_threshold)0.11 0.0013808 0.0045136 0.306 0.75966
## factor(id_threshold)0.12 0.0030909 0.0045136 0.685 0.49348
## factor(id_threshold)0.13 0.0027608 0.0045136 0.612 0.54077
## factor(id_threshold)0.14 0.0034173 0.0045136 0.757 0.44898
## factor(id_threshold)0.15 0.0043778 0.0045136 0.970 0.33210
## factor(id_threshold)0.16 0.0038268 0.0045136 0.848 0.39654
## factor(id_threshold)0.17 0.0043284 0.0045136 0.959 0.33758
## factor(id_threshold)0.18 0.0042062 0.0045136 0.932 0.35140
## factor(id_threshold)0.19 0.0051635 0.0045136 1.144 0.25263
## factor(id_threshold)0.2 0.0047169 0.0045136 1.045 0.29601
## factor(id_threshold)0.21 0.0064602 0.0045136 1.431 0.15236
## factor(id_threshold)0.22 0.0057253 0.0045136 1.268 0.20464
## factor(id_threshold)0.23 0.0041317 0.0045136 0.915 0.35999
## factor(id_threshold)0.24 0.0066786 0.0045502 1.468 0.14217
## factor(id_threshold)0.25 0.0100043 0.0045502 2.199 0.02790 *
## factor(id_threshold)0.26 0.0070092 0.0045502 1.540 0.12346
## factor(id_threshold)0.27 0.0092449 0.0045502 2.032 0.04218 *
## factor(id_threshold)0.28 0.0101585 0.0045502 2.233 0.02558 *
## factor(id_threshold)0.29 0.0146493 0.0045502 3.220 0.00128 **
## factor(id_threshold)0.3 0.0219920 0.0045502 4.833 1.34e-06 ***
## factor(id_threshold)0.31 0.0274499 0.0045502 6.033 1.62e-09 ***
## factor(id_threshold)0.32 0.0358669 0.0045502 7.883 3.23e-15 ***
## factor(id_threshold)0.33 0.0477513 0.0045502 10.494 < 2e-16 ***
## factor(id_threshold)0.34 0.0516544 0.0045510 11.350 < 2e-16 ***
## factor(id_threshold)0.35 0.0513852 0.0044726 11.489 < 2e-16 ***
## factor(id_threshold)0.36 0.0593802 0.0044726 13.276 < 2e-16 ***
## factor(id_threshold)0.37 0.0663612 0.0044726 14.837 < 2e-16 ***
## factor(id_threshold)0.38 0.0704780 0.0044726 15.758 < 2e-16 ***
## factor(id_threshold)0.39 0.0830999 0.0044726 18.580 < 2e-16 ***
## factor(id_threshold)0.4 0.0932782 0.0044726 20.855 < 2e-16 ***
## factor(id_threshold)0.41 0.1135359 0.0044726 25.385 < 2e-16 ***
## factor(id_threshold)0.42 0.1268925 0.0044726 28.371 < 2e-16 ***
## factor(id_threshold)0.43 0.1416905 0.0044726 31.680 < 2e-16 ***
## factor(id_threshold)0.44 0.1493681 0.0044726 33.396 < 2e-16 ***
## factor(id_threshold)0.45 0.1654600 0.0044726 36.994 < 2e-16 ***
## factor(id_threshold)0.46 0.1717689 0.0044726 38.405 < 2e-16 ***
## factor(id_threshold)0.47 0.1898572 0.0044726 42.449 < 2e-16 ***
## factor(id_threshold)0.48 0.2071021 0.0044726 46.304 < 2e-16 ***
## factor(id_threshold)0.49 0.2114721 0.0044726 47.282 < 2e-16 ***
## factor(id_threshold)0.5 0.2264104 0.0044726 50.621 < 2e-16 ***
## factor(id_threshold)0.51 0.2381351 0.0044726 53.243 < 2e-16 ***
## factor(id_threshold)0.52 0.2424008 0.0044726 54.197 < 2e-16 ***
## factor(id_threshold)0.53 0.2479825 0.0044726 55.445 < 2e-16 ***
## factor(id_threshold)0.54 0.2506168 0.0044726 56.034 < 2e-16 ***
## factor(id_threshold)0.55 0.2504702 0.0044726 56.001 < 2e-16 ***
## factor(id_threshold)0.56 0.2537994 0.0044726 56.745 < 2e-16 ***
## factor(id_threshold)0.57 0.2498201 0.0044726 55.855 < 2e-16 ***
## factor(id_threshold)0.58 0.2486547 0.0044726 55.595 < 2e-16 ***
## factor(id_threshold)0.59 0.2468847 0.0044726 55.199 < 2e-16 ***
## factor(id_threshold)0.6 0.2429014 0.0044726 54.309 < 2e-16 ***
## factor(id_threshold)0.61 0.2402417 0.0044726 53.714 < 2e-16 ***
## factor(id_threshold)0.62 0.2383386 0.0044726 53.288 < 2e-16 ***
## factor(id_threshold)0.63 0.2368024 0.0044726 52.945 < 2e-16 ***
## factor(id_threshold)0.64 0.2373794 0.0044726 53.074 < 2e-16 ***
## factor(id_threshold)0.65 0.2352303 0.0044726 52.593 < 2e-16 ***
## factor(id_threshold)0.66 0.2326833 0.0044726 52.024 < 2e-16 ***
## factor(id_threshold)0.67 0.2300422 0.0044726 51.433 < 2e-16 ***
## factor(id_threshold)0.68 0.2221115 0.0044726 49.660 < 2e-16 ***
## factor(id_threshold)0.69 0.2176165 0.0044726 48.655 < 2e-16 ***
## factor(id_threshold)0.7 0.2129373 0.0044726 47.609 < 2e-16 ***
## factor(id_threshold)0.71 0.2016174 0.0044726 45.078 < 2e-16 ***
## factor(id_threshold)0.72 0.1890247 0.0044726 42.263 < 2e-16 ***
## factor(id_threshold)0.73 0.1805768 0.0044726 40.374 < 2e-16 ***
## factor(id_threshold)0.74 0.1602298 0.0044726 35.825 < 2e-16 ***
## factor(id_threshold)0.75 0.1596770 0.0044726 35.701 < 2e-16 ***
## factor(id_threshold)0.76 0.1488276 0.0044726 33.275 < 2e-16 ***
## factor(id_threshold)0.77 0.1472232 0.0044726 32.917 < 2e-16 ***
## factor(id_threshold)0.78 0.1445962 0.0044726 32.329 < 2e-16 ***
## factor(id_threshold)0.79 0.1449372 0.0044726 32.405 < 2e-16 ***
## factor(id_threshold)0.8 0.1441985 0.0044726 32.240 < 2e-16 ***
## factor(id_threshold)0.81 0.1403423 0.0044726 31.378 < 2e-16 ***
## factor(id_threshold)0.82 0.1415225 0.0044726 31.642 < 2e-16 ***
## factor(id_threshold)0.83 0.1452707 0.0044726 32.480 < 2e-16 ***
## factor(id_threshold)0.84 0.1464215 0.0044726 32.737 < 2e-16 ***
## factor(id_threshold)0.85 0.1476656 0.0044726 33.015 < 2e-16 ***
## factor(boundary)0.06 0.0013868 0.0033652 0.412 0.68025
## factor(boundary)0.07 0.0086944 0.0033652 2.584 0.00978 **
## factor(boundary)0.08 0.0085796 0.0033652 2.550 0.01079 *
## factor(boundary)0.09 0.0092910 0.0033652 2.761 0.00576 **
## factor(boundary)0.1 0.0171671 0.0033652 5.101 3.38e-07 ***
## factor(boundary)0.11 0.0283348 0.0033652 8.420 < 2e-16 ***
## factor(boundary)0.12 0.0323687 0.0033652 9.619 < 2e-16 ***
## factor(boundary)0.13 0.0363602 0.0033652 10.805 < 2e-16 ***
## factor(boundary)0.14 0.0327631 0.0033652 9.736 < 2e-16 ***
## factor(boundary)0.15 0.0287367 0.0033652 8.539 < 2e-16 ***
## factor(boundary)0.16 0.0191231 0.0033652 5.683 1.33e-08 ***
## factor(boundary)0.17 0.0087811 0.0033652 2.609 0.00907 **
## factor(boundary)0.18 0.0049373 0.0033652 1.467 0.14233
## factor(boundary)0.19 -0.0004213 0.0033652 -0.125 0.90036
## factor(boundary)0.2 -0.0047817 0.0033652 -1.421 0.15533
## factor(boundary)0.21 -0.0061562 0.0033652 -1.829 0.06734 .
## factor(boundary)0.22 -0.0106733 0.0033652 -3.172 0.00152 **
## factor(boundary)0.23 -0.0172469 0.0033652 -5.125 2.98e-07 ***
## factor(boundary)0.24 -0.0253975 0.0033652 -7.547 4.48e-14 ***
## factor(boundary)0.25 -0.0263868 0.0033652 -7.841 4.50e-15 ***
## factor(boundary)0.26 -0.0335364 0.0033652 -9.966 < 2e-16 ***
## factor(boundary)0.27 -0.0360049 0.0033652 -10.699 < 2e-16 ***
## factor(boundary)0.28 -0.0401761 0.0033652 -11.939 < 2e-16 ***
## factor(boundary)0.29 -0.0457398 0.0033652 -13.592 < 2e-16 ***
## factor(boundary)0.3 -0.0472374 0.0033652 -14.037 < 2e-16 ***
## factor(boundary)0.31 -0.0492508 0.0033652 -14.635 < 2e-16 ***
## factor(boundary)0.32 -0.0524317 0.0033652 -15.581 < 2e-16 ***
## factor(boundary)0.33 -0.0522022 0.0033652 -15.513 < 2e-16 ***
## factor(boundary)0.34 -0.0541577 0.0033652 -16.094 < 2e-16 ***
## factor(boundary)0.35 -0.0538189 0.0033652 -15.993 < 2e-16 ***
## factor(boundary)0.36 -0.0559849 0.0033652 -16.637 < 2e-16 ***
## factor(boundary)0.37 -0.0571275 0.0033652 -16.976 < 2e-16 ***
## factor(boundary)0.38 -0.0569144 0.0033652 -16.913 < 2e-16 ***
## factor(boundary)0.39 -0.0581788 0.0033652 -17.289 < 2e-16 ***
## factor(boundary)0.4 -0.0591914 0.0033652 -17.589 < 2e-16 ***
## factor(boundary)0.41 -0.0591300 0.0033655 -17.570 < 2e-16 ***
## factor(boundary)0.42 -0.0615367 0.0033749 -18.234 < 2e-16 ***
## factor(boundary)0.43 -0.0654015 0.0033749 -19.379 < 2e-16 ***
## factor(boundary)0.44 -0.0635344 0.0033749 -18.826 < 2e-16 ***
## factor(boundary)0.45 -0.0634280 0.0033749 -18.794 < 2e-16 ***
## factor(boundary)0.46 -0.0659656 0.0033749 -19.546 < 2e-16 ***
## factor(boundary)0.47 -0.0665964 0.0033749 -19.733 < 2e-16 ***
## factor(boundary)0.48 -0.0660789 0.0033749 -19.580 < 2e-16 ***
## factor(boundary)0.49 -0.0682801 0.0033749 -20.232 < 2e-16 ***
## factor(boundary)0.5 -0.0682074 0.0033749 -20.210 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1221 on 120673 degrees of freedom
## Multiple R-squared: 0.4467, Adjusted R-squared: 0.4461
## F-statistic: 767 on 127 and 120673 DF, p-value: < 2.2e-16
# f = lm(ESBG ~ factor(opinions)*factor(id_threshold)*factor(boundary), data = filter(dfi, identity))
# fs = summary(f)
I just wanna know how much variability we can explain by the full
model. But I am not able to estimate the full model, since with fully
factorized variables there are 11 177 (!sic) variables and
interactions. Dataset is rich enough for this, but memory of my PC is
not :-) Later we might try estimate the explanation by full model on
Unity. But preliminary estimate shows that we pay more than 10,000
degrees of freedom by including all the interactions, but we get
something around of 2 more percent points of variability explained – it
totally doesn’t worth for such a high price!
OK, by fully factorized main effects only model we might
explain 44.7 %, it means there is 55.3 % of variability, which is
unexplainable in principle! Resp. we can’t explain it by any variable
which we manipulated during simulation experiments. As I mentioned
above, we might try explain it via detailed description of initial
condition (however randomly generated) or via description of the course
of the simulation.
BTW, fully factorized model with main effects only is
the best (difference in BIC -24k), this model is better regarding the
BIC than the non-factorized main effects model. Just for
order, the model with non-factorized main effects explains
31.6 % of variability.